home *** CD-ROM | disk | FTP | other *** search
- /* ==============
- * C3DGeometry.hh
- * ==============
- *
- * Implemented by C3DGeometry.cc
- */
-
- #ifndef C3DGEOMETRY_HH
- #define C3DGEOMETRY_HH
-
- #include "C3DMatrix.hh"
-
- class C3DPoint : public C3DMatrix {
- public:
- C3DPoint() : C3DMatrix(1, 4) {Cell(0, 0) = 0; Cell(0, 3) = 1;}
- virtual ~C3DPoint() {}
- };
-
- class C3DTransform : public C3DMatrix {
- public:
- C3DTransform() : C3DMatrix(4, 4) {}
- virtual ~C3DTransform() {}
- };
-
- typedef C3DTransform C3DOrientation;
-
- class C3DVector {
- public:
- double dx, dy, dz;
- };
-
- class C3DLine {
- public:
- C3DPoint ptA, ptB;
- };
-
- class C3DPlane {
- public:
- C3DPoint origin;
- C3DOrientation orient;
- };
-
- class C3DTranslation : public C3DTransform {
- public:
- C3DTranslation(double dx, double dy, double zd);
- virtual ~C3DTranslation() {}
- };
-
- class C3DYaw : public C3DTransform {
- public:
- C3DYaw(double theta);
- virtual ~C3DYaw() {}
- };
-
- class C3DPitch : public C3DTransform {
- public:
- C3DPitch(double phi);
- virtual ~C3DPitch() {}
- };
-
- class C3DRoll : public C3DTransform {
- public:
- C3DRoll(double psi);
- virtual ~C3DRoll() {}
- };
-
- class C3DScale : public C3DTransform {
- public:
- C3DScale(double factor);
- virtual ~C3DScale() {}
- };
-
- #endif
-